'''
Created on 25/07/2011

@author: joaquin
'''

import os;
import commands;
import datetime;
import Negocio.Logica;
import Negocio.Logs;

if __name__ == '__main__':

    if not os.getuid():
        __salir = False;
        log = Negocio.Logs.xLogs();
        kn = Negocio.Logica.xLogica();
        log.creaDirectorio("logs/");
        
        lb = log.leeFichero("eula.txt");
        if lb == False:
            print("Acuda a la web del autor y siga las instrucciones.");
        else:
            respuesta = str(raw_input());
            if respuesta == "si" or respuesta == "SI":
                log.creaFichero("eulaAccept.txt", "La eula fue aceptada.","");
                kn.obtenerKernel();
                
                kernel = kn.numeroKernel();
                
                kn.eliminarEnUso();
                
                while not __salir and kernel > 1:
                    kn.imprimirKernel();
                    log.leeFichero("opciones.txt");
                    actual = commands.getoutput("uname -r");
                    print("Nucleo actualmente en uso: " + actual);
                    
                    print("SELECCIONE UNA OPCION: ");
                    opcion = int(raw_input());
                    
                    if opcion == -1:
                            print("Hasta pronto.");
                            salir = True;
                    elif opcion >= 0 and opcion < kernel:
                            print("Se va a desinstalar el siguiente el kernel: " + str(kn.getNucleo(opcion)));
                            print("Continuar? (si/no): ");
                            respuesta = str(raw_input());
                            
                            if respuesta == "si" or respuesta == "SI":
                                try:
                                    kn.removeNucleos(opcion);
                                    kernel = kernel - 1;
                                except:
                                    print("No ha sido posible eliminar el kernel.");
                                    log.creaFichero("log-" + str(datetime.datetime.now()), "Error al eliminar el nucleo: " + kn.getNucleo(opcion), "logs/");
                                finally:
                                    print("Terminando la ejecucion.");
                            else:
                                print("No has contestado correctamente, intentalo de nuevo.");
                    else:
                        print("Opcion incorrecta, intentalo de nuevo.");
            else:
                print("Hasta pronto - GEdora Project.");
    else:
        print("Debe ejecutar GEdora como administrador.");
    